Finger Trees

نویسندگان

  • Benedikt Nordhoff
  • Stefan Körner
  • Peter Lammich
چکیده

We implement and prove correct 2-3 finger trees. Finger trees are a general purpose data structure, that can be used to efficiently implement other data structures, such as priority queues. Intuitively, a finger tree is an annotated sequence, where the annotations are elements of a monoid. Apart from operations to access the ends of the sequence, the main operation is to split the sequence at the point where a monotone predicate over the sum of the left part of the sequence becomes true for the first time. The implementation follows the paper of Hintze and Paterson[1]. The code generator can be used to get efficient, verified code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Finger Search Trees

University of Aarhus 11.1 Finger Searching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-1 11.2 Dynamic Finger Search Trees . . . . . . . . . . . . . . . . . . . . . . . 11-2 11.3 Level Linked (2,4)-Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 11.4 Randomized Finger Search Trees . . . . . . . . . . . . . . . . . . . 11-4 Treaps • Skip ...

متن کامل

PROGRAM-ing Finger Trees in COQ

Finger Trees (Hinze and Paterson 2006) are a general purpose persistent data structure with good performance. Their genericity permits developing a wealth of structures like ordered sequences or interval trees on top of a single implementation. However, the type systems used by current functional languages do not guarantee the coherent parameterization and specialization of Finger Trees, let al...

متن کامل

Finger Search on Balanced Search Trees

This thesis introduces the concept of a heterogeneous decomposition of a balanced search tree and apply it to the following problems: • How can finger search be implemented without changing the representation of a Red-Black Tree, such as introducing extra storage to the nodes? (Answer: Any degree-balanced search tree can support finger search without modification in its representation by mainta...

متن کامل

Finger trees: a simple general-purpose data structure

We introduce 2-3 finger trees, a functional representation of persistent sequences supporting access to the ends in amortized constant time, and concatenation and splitting in time logarithmic in the size of the smaller piece. Representations achieving these bounds have appeared previously, but 2-3 finger trees are much simpler, as are the operations on them. Further, by defining the split oper...

متن کامل

Similarity Trees for Zinc Finger Protein Design

Zinc finger domains are protein structures first identified in the Xenopus transcription factor TFIIIA. A zinc finger is composed of 20 to 30 amino-acid residues. There are two residues at both extremities of the domain which are involved in the tetrahedral coordination of a zinc atom. It has been proposed that such a domain interacts with the DNA. Many classes of zinc fingers are characterized...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Archive of Formal Proofs

دوره 2010  شماره 

صفحات  -

تاریخ انتشار 2010